* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  user-select: none;
}

body {
  width: 960px;
  height: 600px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
}

html {
  font-size: 12px;
}
#app{
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.background {
  background: url(../images/background-1.jpg);
  width: 100%;
  height: 100%;
  position: absolute;
  overflow: hidden;
  background-position: -100vw 0;
  /* animation: run 40s linear infinite; */
}

@keyframes run {
  from {
    background-position: 100vw 0;
  }

  to {
    background-position: 0 0;
  }
}

.ranking, .infoTable, .gameStart {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #f3d55d;
  padding: 42px;
  border-radius: 10px;
  transition: all 1 ease-in-out;
  z-index: 500;
}

.submit, .restart {
  width: 9rem;
  height: 2.5rem;
  border-radius: 3px;
  margin-top: 1rem;
  background-color: #9999cc;
  border: navajowhite;
  color: #fff;
  cursor: pointer;
}

.restart {
  width: 13rem;
  height: 4.5rem;
}

.submit:hover, .restart:hover {
  background-color: #8686db;
  transition: 0.3s;
}

.userName {
  outline: none;
  border: 1px solid #9999cc;
  padding: 4px;
}

.start {
  background-color: #9999cc;
  padding: 25px 30px;
  border: none;
  outline: none;
  color: #fff;
  cursor: pointer;
  position: relative;
  border-radius: 3px;
  transition: 0.3s;
  margin-top: 20px;
}

.start::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 30px;
  height: 30px;
  background-color: #fff;
  border-radius: 50%;
  opacity: 0;
}

@keyframes max {
  0% {
    transform: translate(-50%, -50%) scale(1);
    opacity: .2;
  }

  50% {
    opacity: .3;
  }

  100% {
    transform: translate(-50%, -50%) scale(2.1);
    opacity: 0;
  }
}

.start:hover {
  background-color: #f19e0d;
}

.start:hover::after {
  animation: max 0.6s;
}

.aircraft_cont {
  position: absolute;
  z-index: 102;
  /* animation: moveRight 0.8s ease-in-out; */
  opacity: 0;
  top: 50%;
  left: 10%;
  animation-fill-mode: forwards;
}

@keyframes moveRight {
  0% {
    left: -10%;
  }

  100% {
    left: 10%;
  }
}

.aircraft {
  position: relative;
  width: 50px;
  height: 50px;
}

.aircraft .plane {
  width: 100%;
  position: absolute;
  z-index: 10;
}

.flame {
  width: 40%;
  height: 40%;
  background-color: #fce589;
  position: absolute;
  top: 58%;
  left: 26%;
  transform: translate(-50%, -50%) rotate(45deg);
  animation: 0.1s flame linear infinite;
}

@keyframes flame {
  0% {
    top: 60%;
  }

  100% {
    top: 40%;
  }
}

.controller_box {
  width: 100px;
  height: 100px;
  /* border: 1px solid red; */
  position: absolute;
  left: 5%;
  bottom: 10%;
  opacity: 0;
  z-index: 550;
  /* animation: show 1.6s ease-in-out; */
}

@keyframes show1 {
  0%, 70% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.controller {
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  transform: rotate(45deg);
}

.controller_item {
  width: 50%;
  background-color: #fff;
  opacity: .5;
  transition: 0.3s ease-in-out;
  cursor: pointer;
  /* background: rgba(255, 255, 255, 0.8); */
}

.controller_item:hover {
  opacity: 1;
}

.controller_item img {
  width: 100%;
}

.controller .controller_item:nth-child(1) img {
  transform: rotate(-45deg);
}

.controller .controller_item:nth-child(2) img {
  transform: rotate(45deg);
}

.controller .controller_item:nth-child(3) img {
  transform: rotate(-12deg);
}

.controller .controller_item:nth-child(4) img {
  transform: rotate(12deg);
}

.gameInfo {
  position: absolute;
  z-index: 100;
  left: 50%;
  top: 5%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  opacity: 0;
}

.gameInfo>div {
  width: 22%;
  justify-content: center;
  text-align: center;
}

.time_cont, .score_cont {
  display: flex;
  align-items: center;
}

.time_cont img, .score_cont img {
  width: 40px;
}

.time {
  color: #fff;
  font-size: 1.5rem;
}

.fuelFont {
  color: #fff;
  font-size: 1.5rem;
}

.fuelCounter span {
  font-size: 18px;
  color: #fff;
}

.fuelCounter_cont {
  display: flex;
  align-items: center;
}

.fuelCounter {
  width: 110px;
  height: 30px;
  border: 5px solid #fff;
  position: relative;
}

.fuelCounter span {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.fuelCounter::after {
  content: '';
  position: absolute;
  right: -16px;
  top: 2px;
  width: 15px;
  height: 15px;
  background-color: #fff;
}

.progress {
  width: 50%;
  height: 100%;
  color: #fff;
  text-align: center;
  background-color: #9999cc;
  font-size: 1.2rem;
}

.score {
  color: #fff;
  font-size: 1.5rem;
}

.laynch {
  position: relative;
}

.laynch_item {
  width: 10px;
  height: 10px;
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
  z-index: 200;
  /* animation: toRight 10s linear;
  animation-fill-mode: forwards; */
}

.bullet_item {
  width: 30px;
  height: 30px;
  background: url(../images//aestroid_dark.png) no-repeat;
  background-size: 100%;
  position: absolute;
  z-index: 200;
  /* animation: Bullet 10s linear;
  animation-fill-mode: forwards; */
}

@keyframes Bullet {
  100% {
    right: 100vw;
  }
}

.enemy_item, .friendly_item, .meteorite_item {
  position: absolute;
  z-index: 100;
  width: 110px;
  /* height: 88px; */
  right: -3%;
  animation: toLeft 10s linear;
  animation-fill-mode: forwards;
}

.enemy_item img, .friendly_item img {
  width: 100%;
}

@keyframes toLeft {
  0% {
    right: -3%;
  }

  100% {
    right: 110%;
  }
}

.aestroid_item {
  position: absolute;
  z-index: 10;
  right: -3%;
}

.aestroid_one .aestroid_item {
  width: 350px;
  animation: toLeft 10s linear forwards;
}

.aestroid_two .aestroid_item {
  width: 300px;
  animation: toLeft 20s linear forwards;
}

.aestroid_three .aestroid_item {
  width: 200px;
  animation: toLeft 30s linear forwards;
}

.aestroid_four .aestroid_item {
  width: 150px;
  animation: toLeft 40s linear forwards;
}

.aestroid_five .aestroid_item {
  width: 80px;
  animation: toLeft 50s linear forwards;
}

.aestroid_cont img {
  width: 100%;
  filter: brightness(0.2);
}

.meteorite_item img {
  width: 100%;
  animation: rotate 8s linear infinite;
}

@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.fuel_item {
  position: absolute;
  z-index: 200;
  display: flex;
  flex-direction: column;
  align-items: center;
  animation: toBottom 10s linear;
  animation-fill-mode: forwards;
}

@keyframes toBottom {
  0% {
    top: -5vh;
    transform: rotate(0deg);
  }

  100% {
    top: 110vh;
    transform: rotate(720deg);
  }
}

.fuel_top {
  width: 10px;
  height: 5px;
  background-color: #f3d55d;
}

.fuel_center {
  width: 30px;
  height: 50px;
  border: 5px solid #ff7885;
  background-color: #bf737b;
}

.gameInfo .suspend {
  display: flex;
  align-items: center;
  justify-content: space-around;
}

.pause_game, .pause_music, .maxSize, .minSize {
  width: 40px;
  cursor: pointer;
}

.pause_game img, .pause_music img, .maxSize img, .minSize img {
  width: 100%;
}

table th,
table td {
  padding: 10px;
  color: #fff;
  border: solid 1px #fff;
  font-size: 1.5rem;
  text-align: center;
}

table {
  width: 100%;
  height: 19rem;
  border-collapse: collapse;
  margin-bottom: 3rem;
  display: block;
  overflow: auto;
}

table::-webkit-scrollbar {
  /*滚动条整体样式*/
  width: 5px;
  /*高宽分别对应横竖滚动条的尺寸*/
  height: 1px;
}

table::-webkit-scrollbar-thumb {
  /*滚动条里面小方块*/
  border-radius: 10px;
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
  background: #535353;
}

table::-webkit-scrollbar-track {
  /*滚动条里面轨道*/
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
  border-radius: 10px;
  background: #ededed;
}

.ranking h2 {
  font-size: 2rem;
  color: #222;
  margin-bottom: 1rem;
}

.gameStart {
  padding: 10px;
  animation: 1s show ;
  transform: translate(-50%, -50%) scale(1);
  animation-fill-mode: forwards;
}
.gameStart img{
  width: 100px;
}
@keyframes show{
  0%{
    transform: translate(-50%, -50%) scale(0);
  }
  100%{
    transform: translate(-50%, -50%) scale(1);
  }
}

.infoTable {
  z-index: 500;
  transition: all 0.5s;
  transform: translate(-50%, -50%) scale(0);
}

.title_cont {
  text-align: center;
  padding: 10px;
}

.ranking {
  transform: translate(-50%, -50%) scale(0);
}